package com.qf.mybatis.mapper;

import com.qf.mybatis.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author 郑大仙丶
 * @version 1.0
 * @date 2021/3/16 14:38
 * 希望这个类可以代理SqlSession帮我和数据库交互,不需要直接使用SqlSession
 */
public interface UserMapper {

   /*<select id="findCount" resultType="Integer">
        select count(0) from user
    </select>*/
   Integer findCount();


   // 根据id查询某一个user信息
   User findById(Integer id);


   // 查询全部数据
   List<User> findAll();


   // 根据姓名和年龄查询用户
   List<User> findByNameAndAge(String name,Integer age);


   // 根据姓名和年龄查询用户,根据注解传参
   List<User> findByNameAndAgeAnnotation(@Param(value = "name") String name, @Param("agggggge") Integer age);


   // 根据姓名和年龄查询用户,根据POJO类传参
   List<User> findByNameAndAgePojo(User user);


   // 根据姓名和年龄的范围查询,Map传参
   List<User> findByNameAndAgeBetweenMap(Map<String,Object> parameter);


   // 根据姓名和年龄查询用户,根据POJO类传参
   List<User> findByNameAndAgeMap(Map<String,Object> parameter);

   // 查找名字带某一个字符的
   List<User> findByNameLike(@Param("name")String name);


  //=====================================隔了一天====================================================


   // 添加操作
   Integer insert(User user);


   // 修改操作
   Integer updateById(User user);

   // 删除操作
   Integer deleteById(@Param("id")Integer id);





}
